<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>jzhmcoo1</title><meta name="author" content="lixing"><meta name="copyright" content="lixing"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="👨🏻‍💻 好好学习，天天敲代码 👩🏻‍💻">
<meta property="og:type" content="website">
<meta property="og:title" content="jzhmcoo1">
<meta property="og:url" content="https://www.lihangzhu.com/page/3/index.html">
<meta property="og:site_name" content="jzhmcoo1">
<meta property="og:description" content="👨🏻‍💻 好好学习，天天敲代码 👩🏻‍💻">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://jzhmcoo1-1258918430.cos.ap-shanghai.myqcloud.com/markdown/avatar.jpg">
<meta property="article:author" content="lixing">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://jzhmcoo1-1258918430.cos.ap-shanghai.myqcloud.com/markdown/avatar.jpg"><link rel="shortcut icon" href="/images/favicon.png"><link rel="canonical" href="https://www.lihangzhu.com/page/3/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta name="google-site-verification" content="pcqGakY4hww-Mg9iGN4mQw6v_y_IRvYmM1l50SAcPpg"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: {"path":"search.xml","languages":{"hits_empty":"找不到您查询的内容：${query}"}},
  translate: undefined,
  noticeOutdate: undefined,
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '天',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'fancybox',
  Snackbar: undefined,
  source: {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
    },
    fancybox: {
      js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
      css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: true,
  isanchor: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = { 
  isPost: false,
  isHome: true,
  isHighlightShrink: false,
  isToc: false,
  postUpdate: '2021-08-01 21:30:02'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
          const isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
          const isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
          const hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified

          if (t === undefined) {
            if (isLightMode) activateLightMode()
            else if (isDarkMode) activateDarkMode()
            else if (isNotSpecified || hasNoSupport) {
              const now = new Date()
              const hour = now.getHours()
              const isNight = hour <= 6 || hour >= 18
              isNight ? activateDarkMode() : activateLightMode()
            }
            window.matchMedia('(prefers-color-scheme: dark)').addListener(function (e) {
              if (saveToLocal.get('theme') === undefined) {
                e.matches ? activateDarkMode() : activateLightMode()
              }
            })
          } else if (t === 'light') activateLightMode()
          else activateDarkMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const fontSizeVal = saveToLocal.get('global-font-size')
    if (fontSizeVal !== undefined) {
      document.documentElement.style.setProperty('--global-font-size', fontSizeVal + 'px')
    }
    })(window)</script><meta name="generator" content="Hexo 5.4.0"><link rel="alternate" href="/atom.xml" title="jzhmcoo1" type="application/atom+xml">
</head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">加载中...</div></div></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="author-avatar"><img class="avatar-img" data-lazy-src="https://jzhmcoo1-1258918430.cos.ap-shanghai.myqcloud.com/markdown/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/archives/"><div class="headline">文章</div><div class="length-num">36</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/tags/"><div class="headline">标签</div><div class="length-num">37</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/categories/"><div class="headline">分类</div><div class="length-num">9</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-heartbeat"></i><span> 娱乐</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page" href="/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/message/"><i class="fa-fw fa fa-coffee"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-user-friends"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于我</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">jzhmcoo1</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-heartbeat"></i><span> 娱乐</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page" href="/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/message/"><i class="fa-fw fa fa-coffee"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-user-friends"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于我</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">jzhmcoo1</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/jzhmcoo1" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:jzhmzlxocoo1@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="/atom.xml" target="_blank" title="RSS"><i class="fa fa-rss"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/07/18/LearnGit/" title="Git学习笔记">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/git.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Git学习笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/07/18/LearnGit/" title="Git学习笔记">Git学习笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-07-18T07:36:38.000Z" title="发表于 2020-07-18 15:36:38">2020-07-18</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNotes/">StudyNotes</a></span></div><div class="content">前言本文根据廖雪峰老师的Git教程进行总结，只是本人为了假设印象手敲了一遍的简略版，原文链接Git教程 - 廖雪峰的官方网站
创建版本库创建空文件夹mkdir LearnGitcd LearnGitpwd/User/lixing/LearnGit

使用git init命令初始化git仓库git initInitialized empty Git repository in /Users/lixing/LearnGit/.git/

使用la命令查看目录latotal 0drwxr-xr-x  9 lixing  staff   288B  7 15 14:43 .git

在根目录下创建新文件readme.mdGit is a version control system.Git is free software.

使用git add &lt;文件名&gt;将文件添加到暂存区git add readme.md

使用git commit将文件提交到本地仓库git commit -m &quot;wrote a readme file.&quot;

[master (root-co ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/07/12/Leetcode-1144/" title="Leetcode-1144">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/LeetCodeLogo.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Leetcode-1144"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/07/12/Leetcode-1144/" title="Leetcode-1144">Leetcode-1144</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-07-12T09:36:16.000Z" title="发表于 2020-07-12 17:36:16">2020-07-12</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Leetcode/">Leetcode</a></span></div><div class="content">题目描述给你一个整数数组 nums，每次 操作 会从中选择一个元素并 将该元素的值减少 1。
如果符合下列情况之一，则数组 A 就是 锯齿数组：
每个偶数索引对应的元素都大于相邻的元素，即 A[0] &gt; A[1] &lt; A[2] &gt; A[3] &lt; A[4] &gt; ...或者，每个奇数索引对应的元素都大于相邻的元素，即 A[0] &lt; A[1] &gt; A[2] &lt; A[3] &gt; A[4] &lt; ...返回将数组 nums 转换为锯齿数组所需的最小操作次数。
示例 1：
输入：nums = [1,2,3]输出：2解释：我们可以把 2 递减到 0，或把 3 递减到 1。
示例 2：
输入：nums = [9,6,1,6,2]输出：4
 
解题思路分情况讨论，根据题目，锯齿状数组有一个很明显的特征，就是要么奇下标的元素全是小的，要么偶下标的元素全是小的，我们只需要把两种调整所需要的操作数算出来，取小的即可
比如对于每个奇数位i%2==0，我们想要把数组调整成每个奇数位都更小，则我们需要比较a[i]与 a[i-1]、a[i+1]的差。如果a[i] ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/07/11/Leetcode-1343/" title="Leetcode-1343">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/LeetCodeLogo.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Leetcode-1343"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/07/11/Leetcode-1343/" title="Leetcode-1343">Leetcode-1343</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-07-11T12:12:57.000Z" title="发表于 2020-07-11 20:12:57">2020-07-11</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Leetcode/">Leetcode</a></span></div><div class="content">题目描述给你一个整数数组 arr 和两个整数 k 和 threshold 。
请你返回长度为 k 且平均值大于等于 threshold 的子数组数目。
示例 1：
输入：arr &#x3D; [2,2,2,2,5,5,5,8], k &#x3D; 3, threshold &#x3D; 4输出：3解释：子数组 [2,5,5],[5,5,5] 和 [5,5,8] 的平均值分别为 4，5 和 6。其他长度为 3 的子数组的平均值都小于 4 （threshold 的值)。

示例 2：
输入：arr &#x3D; [1,1,1,1,1], k &#x3D; 1, threshold &#x3D; 0输出：5

示例 3：
输入：arr &#x3D; [11,13,17,23,29,31,7,5,2,3], k &#x3D; 3, threshold &#x3D; 5输出：6解释：前 6 个长度为 3 的子数组平均值都大于 5 。注意平均值不是整数。

示例 4：
输入：arr &#x3D; [7,7,7,7,7,7,7], k &#x3D; 7, threshold &#x3D; 7输出：1 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/07/07/4o8-DataStructure-Linear-List/" title="4o8-数据结构-线性表">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/linear-list.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="4o8-数据结构-线性表"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/07/07/4o8-DataStructure-Linear-List/" title="4o8-数据结构-线性表">4o8-数据结构-线性表</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-07-07T14:53:19.000Z" title="发表于 2020-07-07 22:53:19">2020-07-07</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNotes/">StudyNotes</a></span></div><div class="content">本章知识框架

线性表的定义和基本操作线性表的定义
线性表是具有相同数据类型的$n(n≥0)$个元素的有限序列，其中$n$为表长，当$n=0$时，线性表为空

线性表（逻辑）特性
数据元素个数有限；

数据元素逻辑上有先后次序；

除了第一个元素外，所有元素均有唯一直接前驱；

除了最后一个元素外，所有元素均有唯一直接后继；

每个元素数据类型都相同，意味着它们占据相同大小的存储空间。


线性表的基本操作
一个数据结构的基本操作是指：其最核心、最基本的操作，其他较复杂的操作均可通过调用这些基本操作来实现。

线性表的基本操作如下：



操作名称
操作含义



InitList(&amp;L)
初始化一个线性表


Length(L)
返回线性表长度


LocateElem(L,e)
按值（关键字）查找元素


GetElem(L,i)
按位查找元素


ListInsert(&amp;L,i,e)
在指定位置插入元素 e


ListDelete(&amp;L,i,&amp;e)
删除指定位置的元素，e 用来返回结果


PrintList(L)
遍历输出线性表


Empty ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/07/07/4o8-DataStructure-xulun/" title="4o8-数据结构-绪论">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/ds_xulun.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="4o8-数据结构-绪论"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/07/07/4o8-DataStructure-xulun/" title="4o8-数据结构-绪论">4o8-数据结构-绪论</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-07-07T02:44:44.000Z" title="发表于 2020-07-07 10:44:44">2020-07-07</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNotes/">StudyNotes</a></span></div><div class="content">绪论知识框架
数据结构的基本概念基本概念和术语
数据

数据是对客观事物的符号表示，在计算机科学中是指所有能够输入到计算机中，并被计算机程序所处理的符号的总称。


数据元素

是数据的基本单位，计算机程序中通常考虑成一个整体进行处理。
通常若干个数据项组成一个数据元素。
数据项是数据的不可分割的最小单位。


数据对象

是性质相同的数据元素的集合，是数据的一个子集。


数据结构

是相互之间存在一种或多种特定关系的数据元素的集合



在任何问题中，数据元素都不是孤立存在的，他们之间存在的某种相互之间的关系称为结构
数据（逻辑）结构
线性结构
 数据元素存在着 一对一关系
 如：线性表、栈和队列、串、数组、广义表

非线性结构

集合
  数据元素除了“同属于一个集合”的关系外，没有其他关系

树形结构
  数据元素存在着 一对多关系

图状结构
  数据元素存在着 多对多关系




数据结构的形式定义为：$DataStructure = (D,S)$
其中：D 为数据元素的有限集合，S 是 D 上关系的有限集合。
存储结构
数据结构在计算机中的表示，称为物理结构，又称存储结构 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/07/07/4o8/" title="4o8-概述">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/coding.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="4o8-概述"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/07/07/4o8/" title="4o8-概述">4o8-概述</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-07-07T02:34:35.000Z" title="发表于 2020-07-07 10:34:35">2020-07-07</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNotes/">StudyNotes</a></span></div><div class="content">4o8 是什么？既然已经下定决心考研，不如早点开始做准备了，目前已是大二暑假，不能浪费这黄金时间，打算开始着手准备考研科目。4o8 是我为准备 408 考试而准备的项目，我将会在考研前将一些我认为的考试的重点和复习中解决的问题进行归纳整理，总结的不完整或者有问题的地方可以指出，总之，一起学习一起进步，共勉，peace。
4o8 项目地址4o8

我会将对应科目的考点进行罗列，并进行讲解与分析，所谓最好的输入就是输出，希望我在掌握了以后，能够用我自己的语言表达出来。本来是想都放在 github 上的，但是 github 的 md 语法不支持数学公式，所以决定把理论部分都放到个人博客上来，github 作代码仓。
注：以下部分来自于 2020 年的考纲，打*的章节不在考纲范围，但往往有助于理解



数据结构*一、绪论（一）数据结构的基本概念
数据、数据元素、数据对象、数据类型、数据结构
数据结构三要素
逻辑结构
存储结构
数据的运算



（二）算法和算法效率的评价
算法定义
算法的五大特征
有穷性
确定性
可行性
输入
输出


效率的度量
时间复杂度
空间复杂度



二、线性表（一 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/07/06/Linux-files-directories-permissions/" title="Linux Learning IV (Linux Files and Directories Permissions)">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/centos.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Linux Learning IV (Linux Files and Directories Permissions)"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/07/06/Linux-files-directories-permissions/" title="Linux Learning IV (Linux Files and Directories Permissions)">Linux Learning IV (Linux Files and Directories Permissions)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-07-06T05:18:05.000Z" title="发表于 2020-07-06 13:18:05">2020-07-06</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNotes/">StudyNotes</a></span></div><div class="content">用户与用户组
 在 Linux 中，任何一个文件都具有用户（User），所属群组（Group），以及其他人（Others）三种身份的个别权限。


文件拥有者
 由于 Linux 是一个多人多任务的系统，因此需要考虑每个人的隐私权和每个人喜好的工作环境，因此文件拥有者的角色就相当重要

用户组的概念
 用户组最有用的功能之一是在团队进行协作的时候。可以对一个文件进行简单的权限设置，就能限制非自己团队成员的其他人不能够阅读内容，但可以让自己用户组的成员修改我所建立的文件。
 同时，如果有我自己的私人隐秘文件，可以设置让自己用户组的成员也看不到我的文件。

其他人的概念
 与文件的拥有者和用户组没有关系的人，即没有被包含在用户组内的人。
 但 Linux 还有一个 root 用户，对任何文件都有权限


Linux 文件权限使用ls -al命令，可以列出当前目录的所有文件（包括隐藏文件）
例如在我的 CentOS 服务器上的 /root目录使用该命令
ls -al

输出为：
total 136dr-xr-x---. 13 root  root   4096 Jun 24 22:41 .d ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/06/25/Config-my-centos-server-III/" title="Linux Learning III (开源项目的部署)">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/centos.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Linux Learning III (开源项目的部署)"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/25/Config-my-centos-server-III/" title="Linux Learning III (开源项目的部署)">Linux Learning III (开源项目的部署)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-06-24T16:09:22.000Z" title="发表于 2020-06-25 00:09:22">2020-06-25</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNotes/">StudyNotes</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/StudyNotes/BuildDevEnv/">BuildDevEnv</a></span></div><div class="content">前言既然有了服务器，总想运行部署点什么，（之前自己写的 flask 太丑了），想着🐑哥之前力荐的若依项目很适合拿来练手，而且🐑哥也出了一期“保姆级视频”，就想着也来部署一个玩玩，虽然有视频教程了，但是在部署的过程中还是遇到了不少麻烦，（流下了不学无术的泪水）
参考
🐑哥的部署视频
若依项目地址[前后端分离版]

环境配置前面我只配置了 Python、Git、Node、MySQL等环境，由于若依是用SpringBoot写的，所以我们还需要配置JDK1.8以及Maven、Tomcat、Redis等。
JDK 的配置准备 JDK 安装包这里准备的是jdk-8u161-linux-x64.tar.gz，并放在了root目录下
卸载已有的 OPENJDK可以通过命令：
rpm -qa | grep java

来查看，如果有输出，则将这些包全部卸载
yum -y remove java....(省略)

创建 Java 目录并解压cd /usr/localmkdir javacd javatar -zxvf /root/jdk-8u161-linux-x64.tar.gz -C ./

解 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/06/22/Config-my-centos-server-II/" title="Linux Learning II (Hexo 从 GitPage 到腾讯云)">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/centos.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Linux Learning II (Hexo 从 GitPage 到腾讯云)"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/22/Config-my-centos-server-II/" title="Linux Learning II (Hexo 从 GitPage 到腾讯云)">Linux Learning II (Hexo 从 GitPage 到腾讯云)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-06-22T09:55:51.000Z" title="发表于 2020-06-22 17:55:51">2020-06-22</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNotes/">StudyNotes</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/StudyNotes/BuildDevEnv/">BuildDevEnv</a></span></div><div class="content">配置 Git详情见上一篇Linux Learning I
创建 Git 裸仓库我选择在/home/git目录下，创建一个名为hexoBlog的仓库，然后修改目录的所有权和用户权限。
mkdir /home/git/chown -R $USER:$USER /home/git/chmod -R 755 /home/git/

git 初始化cd /home/git/git init --bare hexoBlog.git

在/home/git/hexoBlog.git下，自动生成了hooks文件夹。我们在里边新建一个钩子文件夹post-receive
vim /home/git/hexoBlog.git/hooks/post-receive

在文件追加以下内容
git --work-tree=/home/hexoBlog --git-dir=/home/git/hexoBlog.git checkout -f

保存退出
修改文件权限，使其可执行chmod +x /home/git/hexoBlog.git/hooks/post-receive

Nginx的配置安装步骤请见上一篇L ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/06/20/Config-my-centos-server-I/" title="Linux Learning I (云服务器的购买与配置)">     <img class="post_bg" data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/centos.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Linux Learning I (云服务器的购买与配置)"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/20/Config-my-centos-server-I/" title="Linux Learning I (云服务器的购买与配置)">Linux Learning I (云服务器的购买与配置)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-06-20T14:07:20.000Z" title="发表于 2020-06-20 22:07:20">2020-06-20</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/StudyNotes/">StudyNotes</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/StudyNotes/BuildDevEnv/">BuildDevEnv</a></span></div><div class="content">写在前面由于下学期将要开始学习 Linux和计算机网络，虚拟机环境感觉不过瘾，乘次机会想要摆弄摆弄云服务器，学生价也不贵，于是就在腾讯云上整了一台，开始学习 Linux。
打算写Linux学习的一系列文章
打算先写一些基础的环境搭建文章
目前打算写的有：

Linux 云服务器的购买与配置
Hexo 博客从 Gitpages 到腾讯云的迁移
…


正式开始购买服务器首先进入腾讯云学生优惠官网选购 CentOS7.6
这里给出购买链接

学生购买链接
域名购买

购买完成后可以从控制台登录云服务器，不过还是通过 ssh 客户端来登录比较方便，
mac 平台上我使用的是 secureCRT+Transmit来输入命令以及传输文件
解析域名在控制台解析域名，可以使用快速解析将域名指向云服务器
不过刚买的域名实名认证之后需要三天才可以申请备案
具体请参考腾讯云的云服务器的快速入门
申请 SSL 证书想要走 https 就要去申请 SSl 证书了
我们可以直接申请免费证书 1 年有效期，验证还是非常快的

配置服务器安装 git包管理器安装很方便
yum install git

安装的版本是 ...</div></div></div><nav id="pagination"><div class="pagination"><a class="extend prev" rel="prev" href="/page/2/"><i class="fas fa-chevron-left fa-fw"></i></a><a class="page-number" href="/">1</a><a class="page-number" href="/page/2/">2</a><span class="page-number current">3</span><a class="page-number" href="/page/4/">4</a><a class="extend next" rel="next" href="/page/4/"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="card-info-avatar is-center"><img class="avatar-img" data-lazy-src="https://jzhmcoo1-1258918430.cos.ap-shanghai.myqcloud.com/markdown/avatar.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">lixing</div><div class="author-info__description">👨🏻‍💻 好好学习，天天敲代码 👩🏻‍💻</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">36</div></a></div><div class="card-info-data-item is-center"><a href="/tags/"><div class="headline">标签</div><div class="length-num">37</div></a></div><div class="card-info-data-item is-center"><a href="/categories/"><div class="headline">分类</div><div class="length-num">9</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/jzhmcoo1"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/jzhmcoo1" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:jzhmzlxocoo1@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="/atom.xml" target="_blank" title="RSS"><i class="fa fa-rss"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>公告</span></div><div class="announcement_content">真正的大师,永远都怀着一颗学徒的心</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2021/08/01/%E8%B7%A8%E5%9F%9F/" title="跨域问题"><img data-lazy-src="https://jzhmcoo1-1258918430.cos.ap-shanghai.myqcloud.com/markdown/20210801204426-browser.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="跨域问题"/></a><div class="content"><a class="title" href="/2021/08/01/%E8%B7%A8%E5%9F%9F/" title="跨域问题">跨域问题</a><time datetime="2021-08-01T12:42:27.000Z" title="发表于 2021-08-01 20:42:27">2021-08-01</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/06/26/Css-Core-Concepts/" title="css关键概念"><img data-lazy-src="https://gitee.com/jzhmcoo1/jzhmcoo1picrepo/raw/master/img/css.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="css关键概念"/></a><div class="content"><a class="title" href="/2021/06/26/Css-Core-Concepts/" title="css关键概念">css关键概念</a><time datetime="2021-06-26T02:53:41.000Z" title="发表于 2021-06-26 10:53:41">2021-06-26</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/06/21/Cpp-OJ-Environment/" title="C++OJ环境搭建"><img data-lazy-src="https://jzhmcoo1-1258918430.cos.ap-shanghai.myqcloud.com/markdown/20210621082947.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="C++OJ环境搭建"/></a><div class="content"><a class="title" href="/2021/06/21/Cpp-OJ-Environment/" title="C++OJ环境搭建">C++OJ环境搭建</a><time datetime="2021-06-21T00:28:12.000Z" title="发表于 2021-06-21 08:28:12">2021-06-21</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/06/20/Browser-Cache/" title="浏览器的强缓存和协商缓存"><img data-lazy-src="https://jzhmcoo1-1258918430.cos.ap-shanghai.myqcloud.com/markdown/20210620222035.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="浏览器的强缓存和协商缓存"/></a><div class="content"><a class="title" href="/2021/06/20/Browser-Cache/" title="浏览器的强缓存和协商缓存">浏览器的强缓存和协商缓存</a><time datetime="2021-06-20T14:18:05.000Z" title="发表于 2021-06-20 22:18:05">2021-06-20</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/06/17/Sorting/" title="排序算法汇总"><img data-lazy-src="https://jzhmcoo1-1258918430.cos.ap-shanghai.myqcloud.com/markdown/20210617235208-sorting.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="排序算法汇总"/></a><div class="content"><a class="title" href="/2021/06/17/Sorting/" title="排序算法汇总">排序算法汇总</a><time datetime="2021-06-17T15:53:46.000Z" title="发表于 2021-06-17 23:53:46">2021-06-17</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
            <i class="fas fa-folder-open"></i>
            <span>分类</span>
            <a class="card-more-btn" href="/categories/" title="查看更多">
    <i class="fas fa-angle-right"></i></a>
            </div>
            <ul class="card-category-list" id="aside-cat-list">
            <li class="card-category-list-item "><a class="card-category-list-link" href="/categories/DevNotes/"><span class="card-category-list-name">DevNotes</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Leetcode/"><span class="card-category-list-name">Leetcode</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/StudyNotes/"><span class="card-category-list-name">StudyNotes</span><span class="card-category-list-count">31</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/StudyNotes/BuildDevEnv/"><span class="card-category-list-name">BuildDevEnv</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/StudyNotes/FrontEnd/"><span class="card-category-list-name">FrontEnd</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/StudyNotes/Syntax/"><span class="card-category-list-name">Syntax</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/StudyNotes/WebDevelopment/"><span class="card-category-list-name">WebDevelopment</span><span class="card-category-list-count">2</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E8%B8%A9%E5%9D%91%E8%AE%B0%E5%BD%95/"><span class="card-category-list-name">踩坑记录</span><span class="card-category-list-count">1</span></a></li>
            </ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/408/" style="font-size: 1.3em; color: #99a1ac">408</a> <a href="/tags/BoxModel/" style="font-size: 1.1em; color: #999">BoxModel</a> <a href="/tags/C/" style="font-size: 1.1em; color: #999">C++</a> <a href="/tags/CSS/" style="font-size: 1.3em; color: #99a1ac">CSS</a> <a href="/tags/CSS-selectors/" style="font-size: 1.1em; color: #999">CSS selectors</a> <a href="/tags/Document-structure/" style="font-size: 1.1em; color: #999">Document structure</a> <a href="/tags/Git/" style="font-size: 1.1em; color: #999">Git</a> <a href="/tags/HTTP/" style="font-size: 1.1em; color: #999">HTTP</a> <a href="/tags/HTTPS/" style="font-size: 1.1em; color: #999">HTTPS</a> <a href="/tags/Hash%E8%A1%A8/" style="font-size: 1.1em; color: #999">Hash表</a> <a href="/tags/JavaScript/" style="font-size: 1.4em; color: #99a5b6">JavaScript</a> <a href="/tags/Linux/" style="font-size: 1.5em; color: #99a9bf">Linux</a> <a href="/tags/OJ/" style="font-size: 1.1em; color: #999">OJ</a> <a href="/tags/RuoYi/" style="font-size: 1.1em; color: #999">RuoYi</a> <a href="/tags/SSL/" style="font-size: 1.1em; color: #999">SSL</a> <a href="/tags/Web/" style="font-size: 1.2em; color: #999da3">Web</a> <a href="/tags/css/" style="font-size: 1.1em; color: #999">css</a> <a href="/tags/flask/" style="font-size: 1.1em; color: #999">flask</a> <a href="/tags/hexo/" style="font-size: 1.1em; color: #999">hexo</a> <a href="/tags/markdown/" style="font-size: 1.1em; color: #999">markdown</a> <a href="/tags/python/" style="font-size: 1.1em; color: #999">python</a> <a href="/tags/ssh/" style="font-size: 1.1em; color: #999">ssh</a> <a href="/tags/syntax/" style="font-size: 1.1em; color: #999">syntax</a> <a href="/tags/webpack/" style="font-size: 1.2em; color: #999da3">webpack</a> <a href="/tags/%E5%89%8D%E7%AB%AF/" style="font-size: 1.4em; color: #99a5b6">前端</a> <a href="/tags/%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95/" style="font-size: 1.1em; color: #999">前端面试</a> <a href="/tags/%E5%B7%A5%E5%85%B7%E5%88%86%E4%BA%AB/" style="font-size: 1.1em; color: #999">工具分享</a> <a href="/tags/%E6%8E%92%E5%BA%8F/" style="font-size: 1.1em; color: #999">排序</a> <a href="/tags/%E6%95%A3%E5%88%97%E8%A1%A8/" style="font-size: 1.1em; color: #999">散列表</a> <a href="/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/" style="font-size: 1.4em; color: #99a5b6">数据结构</a> <a href="/tags/%E6%95%B0%E7%BB%84/" style="font-size: 1.2em; color: #999da3">数组</a> <a href="/tags/%E6%9F%A5%E6%89%BE/" style="font-size: 1.1em; color: #999">查找</a> <a href="/tags/%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98/" style="font-size: 1.1em; color: #999">浏览器缓存</a> <a href="/tags/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/" style="font-size: 1.1em; color: #999">网络协议</a> <a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/" style="font-size: 1.3em; color: #99a1ac">计算机网络</a> <a href="/tags/%E8%B7%A8%E5%9F%9F/" style="font-size: 1.1em; color: #999">跨域</a> <a href="/tags/%E9%9A%8F%E7%AC%94/" style="font-size: 1.1em; color: #999">随笔</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span><a class="card-more-btn" href="/archives/" title="查看更多">
    <i class="fas fa-angle-right"></i></a></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/08/"><span class="card-archive-list-date">八月 2021</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/06/"><span class="card-archive-list-date">六月 2021</span><span class="card-archive-list-count">6</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/02/"><span class="card-archive-list-date">二月 2021</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/11/"><span class="card-archive-list-date">十一月 2020</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/10/"><span class="card-archive-list-date">十月 2020</span><span class="card-archive-list-count">3</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/09/"><span class="card-archive-list-date">九月 2020</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/08/"><span class="card-archive-list-date">八月 2020</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/07/"><span class="card-archive-list-date">七月 2020</span><span class="card-archive-list-count">9</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">36</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2020-03-07T16:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">本站总字数 :</div><div class="item-count">71.2k</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2021-08-01T13:30:02.035Z"></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2020 - 2021 By lixing</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text"><a target="_blank" rel="noopener" href="http://www.beian.miit.gov.cn/"><img class="icp-icon" src="/images/icp.png"><span>备案号：沪ICP备20019376号-1</span></a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="font-plus" type="button" title="放大字体"><i class="fas fa-plus"></i></button><button id="font-minus" type="button" title="缩小字体"><i class="fas fa-minus"></i></button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><div class="search-dialog__title" id="local-search-title">本地搜索</div><div id="local-input-panel"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div></div><hr/><div id="local-search-results"></div><span class="search-close-button"><i class="fas fa-times"></i></span></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script><script src="/js/search/local-search.js"></script><script>var preloader = {
  endLoading: () => {
    document.body.style.overflow = 'auto';
    document.getElementById('loading-box').classList.add("loaded")
  },
  initLoading: () => {
    document.body.style.overflow = '';
    document.getElementById('loading-box').classList.remove("loaded")

  }
}
window.addEventListener('load',preloader.endLoading())</script><div class="js-pjax"><script>function subtitleType () {
  getScript('https://sdk.jinrishici.com/v2/browser/jinrishici.js').then(() => {
    jinrishici.load(function (result) {
      if (true) {
        var sub = "Stay hungry，Stay foolish,求知若饥，虚怀若愚".length == 0 ? new Array() : "Stay hungry，Stay foolish,求知若饥，虚怀若愚".split(',')
        var content = result.data.content
        var both = sub.unshift(content)
        var typed = new Typed('#subtitle', {
          strings: sub,
          startDelay: 300,
          typeSpeed: 150,
          loop: true,
          backSpeed: 50,
        })
      } else {
        document.getElementById('subtitle').innerHTML = result.data.content
      }
    })
  })
}

if (true) {
  if (typeof Typed === 'function') {
    subtitleType()
  } else {
    getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
  }
} else {
  subtitleType()
}
</script></div><script defer="defer" id="ribbon" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-ribbon.min.js" size="150" alpha="0.6" zIndex="-1" mobile="false" data-click="false"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>